package vo

import (
	"time"
)

/**
 * @author feige
 * @date 2023-10-08
 * @desc  下载明细页面需要返回的数据信息
 */
type NoteDetailVo struct {
	Id               uint64                    `json:"id"`          // 下载主键
	Title            string                    `json:"title"`       // 下载标题
	Img              string                    `json:"img"`         // 下载封面
	Url              string                    `json:"url"`         // 下载封面
	Content          string                    `json:"content"`     // 下载内容
	HtmlContent      string                    `json:"htmlContent"` // 下载内容
	Viewcount        int                       `json:"viewcount"`   //预览数量、
	FavNum           int                       `json:"favNum"`      // 收藏数
	ChannelIds       string                    `json:"channelIds"`  // 栏目ids
	Price            string                    `json:"price"`       // 价格
	Realprice        string                    `json:"realprice"`   // 真实价格
	Tags             string                    `json:"tags"`        //下载标签
	Description      string                    `json:"description"` //下载缩略描述
	CommentFlag      int                       `json:"commentFlag"` //0不可以评论 1可以评论
	Avatar           string                    `json:"avatar"`      //作者头像
	Status           int                       `json:"status"`      //发布状态 1发布 0未发布
	IsDeleted        int                       `json:"isDeleted"`   //是否删除 1删除 0 微山粗
	Userid           uint64                    `json:"userid"`      //作者信息
	CommentNum       int                       `json:"commentNum"`  //评论数量
	NewFlag          int                       `json:"newFlag"`     //是否最新 1是 0否
	HotFlag          int                       `json:"hotFlag"`     //是否最热 1是 0否
	PushFlag         int                       `json:"pushFlag"`    //是否推荐 1是0 否
	Notetype         int                       `json:"notetype"`
	Uuid             string                    `json:"uuid"`
	CreateTime       time.Time                 `json:"createTime"` // 创建时间
	UpdateTime       time.Time                 `json:"updateTime"` // 更新时间
	FocusFlag        int64                     `json:"focusFlag"`  // 1 关注中 0 未关注
	FavFlag          int64                     `json:"favFlag"`    // 1 已收藏 0 未收藏
	PayFlag          int                       `json:"payFlag"`    // 1免费  2 收费
	VipFlag          int                       `json:"vipFlag"`    // 1所有人可见 2 VIP可见 3：SVIP可见
	BuyFlag          int                       `json:"buyFlag"`    // 购买状态 0 未购买 1 已购买
	BuyNum           int                       `json:"buyNum"`     //购买人数
	PanLink          string                    `json:"panLink"`    // 网盘链接
	PanPwd           string                    `json:"panPwd"`     // 网盘密码
	Otherinfo        string                    `json:"otherinfo"`  // 其他信息 json格式
	Score            float32                   `json:"score"`      // 评分
	Sorted           int                       `json:"sorted"`     // 排序
	Videoid          string                    `json:"videoid"`
	CourseId         uint64                    `json:"courseId"`         // 关联课程
	SpecialId        uint64                    `json:"specialId"`        // 关联专题
	UserStudyRecords []*NoteStudyUserRecordsVo `json:"userStudyRecords"` // 学习记录
	ChapterList      []*NoteChapterVo          `json:"chapterList"`
	Percent          string                    `json:"percent"`
	Stimer           string                    `json:"stimer"`   // 时长
	Finished         int                       `json:"finished"` //是否更新完毕 1是 0否
	Path             string                    `json:"path"`
	ChannelId        uint64                    `json:"channelId"`   // 栏目
	ChannelName      string                    `json:"channelName"` //栏目名称
	SystemId         uint64                    `json:"systemId"`    //系统ID
	SystemName       string                    `json:"systemName"`  //系统名称
	ShowFlag         int                       `json:"showFlag"`    // 是否展示，1展示 0隐藏
	Videoinfo        string                    `json:"videoinfo"`   // 视频信息
	Ntype            int                       `json:"ntype"`       //1手册 2视频
	NoticeMsg        string                    `json:"noticeMsg"`
	Username         string                    `json:"username"`       // 用户名
	ChapterFlag      int                       `json:"chapterFlag"`    // 1无章节  决定URL地址的调转
	ClientLink       string                    `json:"clientLink"`     // 客服号
	ClientLinkName   string                    `json:"clientLinkName"` // 客服名称
	ClientLinkImg    string                    `json:"clientLinkImg"`  // 客服二维码
	QqLinkCode       string                    `json:"qqLinkCode"`     // qq群
	QqLinkName       string                    `json:"qqLinkName"`     // qq群名称
	QqLinkImg        string                    `json:"qqLinkImg"`      // qq群二维码
	WeixinLink       string                    `json:"weixinLink"`     // 微信群号
	WeixinLinkName   string                    `json:"weixinLinkName"` // 微信群名称
	WeixinLinkImg    string                    `json:"weixinLinkImg"`  // 微信二维码
	ClientFlag       int                       `json:"clientFlag"`     // 是否打开二维码
	Weixingzcode     string                    `json:"weixingzcode"`   //微信公众号
	Weixingzimg      string                    `json:"weixingzimg"`    //微信公众号图片
	Opengz           int                       `json:"opengz"`         //是否打开公众号 1 打开 0不打开
	CategoryId       uint64                    `json:"categoryId"`
	CategoryName     string                    `json:"categoryName"`
}

/**
 * @author feige
 * @date 2023-10-08
 * @desc  下载明细页面需要返回的数据信息
 */
type NoteVo struct {
	Id               uint64                    `json:"id"`          // 下载主键
	Title            string                    `json:"title"`       // 下载标题
	Img              string                    `json:"img"`         // 下载封面
	Viewcount        int                       `json:"viewcount"`   // 浏览数
	FavNum           int                       `json:"favNum"`      // 收藏数
	LikeNum          int                       `json:"likeNum"`     // 喜欢数
	LikeCount        int                       `json:"likeCount"`   // 收藏数
	Price            string                    `json:"price"`       // 价格
	Realprice        string                    `json:"realprice"`   // 真实价格
	Tags             string                    `json:"tags"`        //下载标签
	Description      string                    `json:"description"` //下载缩略描述
	CommentFlag      int                       `json:"commentFlag"` //0不可以评论 1可以评论
	Avatar           string                    `json:"avatar"`      //作者头像
	Username         string                    `json:"username"`    //用户名
	Status           int                       `json:"status"`      //发布状态 1发布 0未发布
	IsDeleted        int                       `json:"isDeleted"`   //发布状态 1已删除 0未删除
	Userid           uint64                    `json:"userid"`      //作者信息
	CommentNum       int                       `json:"commentNum"`  //评论数量
	NewFlag          int                       `json:"newFlag"`     //是否最新 1是 0否
	HotFlag          int                       `json:"hotFlag"`     //是否最热 1是 0否
	PushFlag         int                       `json:"pushFlag"`    //是否推荐 1是0 否
	Sorted           int                       `json:"sorted"`      // 排序
	Uuid             string                    `json:"uuid"`
	CreateTime       time.Time                 `json:"createTime"` // 创建时间
	UpdateTime       time.Time                 `json:"updateTime"` // 更新时间
	FocusFlag        int64                     `json:"focusFlag"`  // 1 关注中 0 未关注
	FavFlag          int64                     `json:"favFlag"`    // 1 已收藏 0 未收藏
	LikeFlag         int64                     `json:"likeFlag"`   // 1 已点赞 0 未点赞
	PayFlag          int                       `json:"payFlag"`    // 1免费  2 收费
	VipFlag          int                       `json:"vipFlag"`    // 1所有人可见 2 VIP可见 3：SVIP可见
	ShowFlag         int                       `json:"showFlag"`   // 1 是 0否
	Opengz           int                       `json:"opengz"`     // 1 是 0否
	ClientFlag       int                       `json:"clientFlag"` // 1 是 0否
	BuyFlag          int                       `json:"buyFlag"`    // 购买状态 0 未购买 1 已购买
	BuyNum           int                       `json:"buyNum"`     //购买人数
	PanLink          string                    `json:"panLink"`    // 网盘链接
	PanPwd           string                    `json:"panPwd"`     // 网盘密码
	Otherinfo        string                    `json:"otherinfo"`  // 其他信息 json格式
	Videoid          string                    `json:"videoid"`
	Score            float32                   `json:"score"`            // 评分
	SpecialId        uint64                    `json:"specialId"`        // 关联专题
	UserStudyRecords []*NoteStudyUserRecordsVo `json:"userStudyRecords"` // 学习记录
	ChapterList      []*NoteChapterVo          `json:"chapterList"`
	Notetype         int                       `json:"notetype"`
	Stimer           string                    `json:"stimer"`      // 时长
	Finished         int                       `json:"finished"`    //是否更新完毕 1是 0否
	ShowPrice        int                       `json:"showPrice"`   // 是否显示价格
	ChapterFlag      int                       `json:"chapterFlag"` // 是否有章节
	ChannelId        uint64                    `json:"channelId"`   // 栏目
	ChannelName      string                    `json:"channelName"` //栏目名称
	CategoryId       uint64                    `json:"categoryId"`
	CategoryName     string                    `json:"categoryName"`
	ChannelIds       string                    `json:"channelIds"` // 栏目ids
}

/**
 * @author feige
 * @date 2023-10-08
 * @desc  下载明细页面需要返回的数据信息
 */
type NoteDetailPayVo struct {
	Id          uint64 `json:"id"`          // 下载主键
	Title       string `json:"title"`       // 下载标题
	Userid      uint64 `json:"userid"`      // 作者
	Uuid        string `json:"uuid"`        // 作者uuid
	Description string `json:"description"` // 下载描述
	Img         string `json:"img"`         // 下载封面
	Price       string `json:"price"`       // 价格
	Realprice   string `json:"realprice"`   // 真实价格
	SpecialId   uint64 `json:"specialId"`   // 真实价格
	CategoryId  uint64 `json:"categoryId"`  // 真实价格
	ChannelIds  string `json:"channelIds"`  // 栏目ids
}

/**
 * 章
 * @author feige
 * @date 2023-11-30
 * @version 1.0
 * @desc
 */
type NoteChapterVo struct {
	Id             string          `json:"id"`          // 业务主键
	NoteId         string          `json:"noteId"`      //章节所属小册id
	Title          string          `json:"title"`       //章节名称
	Sorted         int             `json:"sorted"`      //章节排序
	Status         int             `json:"status"`      //发布状态1发布0未发布
	NoteTitle      string          `json:"noteTitle"`   //小册标题
	IsDeleted      int             `json:"isDeleted"`   //0未删除 1删除
	Mdcontent      string          `json:"mdcontent"`   //md内容
	Htmlcontent    string          `json:"htmlcontent"` //富文本内容
	TotalTime      string          `json:"totalTime"`   //总节数
	SystemId       uint64          `json:"systemId"`    // 系统ID
	SystemName     string          `json:"systemName"`  // 系统名称
	CreateTime     time.Time       `json:"createTime"`
	UpdateTime     time.Time       `json:"updateTime"`
	Expand         bool            `json:"expand"`
	Videoid        string          `json:"videoid"`        //云端视频资源id
	FreeFlag       int             `json:"freeFlag"`       //是否免费，0免费，1收费
	Duration       string          `json:"duration"`       //视频时长(秒)
	Videosize      string          `json:"videosize"`      //视频大小(字节)
	VideoSourceUrl string          `json:"videoSourceUrl"` //源视频地址
	Children       []*NoteLessonVo `json:"children"`
	ChapterFlag    int             `json:"chapterFlag"` // 是否有章节
}

/**
 * 章
 * @author feige
 * @date 2023-11-30
 * @version 1.0
 * @desc
 */
type NoteLessonVo struct {
	Id             string    `json:"id"`             // 业务主键
	NoteId         string    `json:"noteId"`         //视频所属小册id
	ChapterId      string    `json:"chapterId"`      //视频所属章节id
	Title          string    `json:"title"`          //视频标题
	Sorted         int       `json:"sorted"`         //视频排序
	Playcount      int       `json:"playcount"`      //视频播放次数
	Videoid        string    `json:"videoid"`        //云端视频资源id
	Duration       string    `json:"duration"`       //视频时长(秒)
	Videosize      string    `json:"videosize"`      //视频大小(字节)
	FreeFlag       int       `json:"freeFlag"`       //是否免费，0免费，1收费
	Status         int       `json:"status"`         //1发布 0不发布
	VideoSourceUrl string    `json:"videoSourceUrl"` //源视频地址
	ChapterTitle   string    `json:"chapterTitle"`   //章标题
	NoteTitle      string    `json:"noteTitle"`      //小册标题
	IsDeleted      int       `json:"isDeleted"`      //删除状态0未删除 1删除
	Mdcontent      string    `json:"mdcontent"`      //md内容
	Htmlcontent    string    `json:"htmlcontent"`    //富文本内容
	SystemId       uint64    `json:"systemId"`       // 系统ID
	SystemName     string    `json:"systemName"`     // 系统名称
	CreateTime     time.Time `json:"createTime"`
	UpdateTime     time.Time `json:"updateTime"`
}

/**
 * @author feige
 * @date 2023-10-08
 * @version 1.0
 * @desc 下载评论表
 */
type NoteCommentVo struct {
	// 下载评论主键
	Id         uint64    `json:"id"`
	UserId     uint64    `json:"userId"`     // 评论的用户
	Username   string    `json:"username"`   //用户名
	Nickname   string    `json:"nickname"`   //昵称
	UserAvatar string    `json:"userAvatar"` // 评论用户的头像
	Content    string    `json:"content"`    // 用户评论的内容
	NoteId     uint64    `json:"noteId"`     // 用户评论的那个下载
	NoteTitle  string    `json:"noteTitle"`  // 下载标题
	ParentId   uint64    `json:"parentId"`   // 0 第一级评论，非都是子集评论
	CreateTime time.Time `json:"createTime"`
	UpdateTime time.Time `json:"updateTime"`
	Uuid       string    `json:"uuid"`
}

/**
 * @author feige
 * @date 2023-10-08
 * @desc  下载明细页面需要返回的数据信息
 */
type NoteCategoryVo struct {
	// 分类ID
	Id uint64 `json:"id"`
	// 下载分类名字
	Title string `json:"title"`
	// 下载分类图标
	Icon string `json:"icon"`
	// 下载分类名字
	ParentId uint64 `json:"parentId"`
	// 栏目ID
	ChannelId uint64 `json:"channelId"`
	// 子元素
	Children []*NoteCategoryVo `json:"children"`
	// 栏目ids
	ChannelIds string `json:"channelIds"`
}

/**
 * @author feige
 * @date 2023-10-08
 * @desc  下载明细页面需要返回的数据信息
 */
type NoteCategoryDetailVo struct {
	// 分类ID
	Id uint64 `json:"id"`
	// 分类ID
	ChannelId uint64 `json:"channelId"`
	// 分类ID
	ChannelName string `json:"channelName"`
	// 下载分类名字
	Title string `json:"title"`
	// 下载分类图标
	Icon string `json:"icon"`
	// 下载分类图标
	Sorted int `json:"sorted"`
	// 下载分类图标
	Status     int       `json:"status"`
	CreateTime time.Time `json:"createTime"`
	UpdateTime time.Time `json:"updateTime"`
	// 下载分类名字
	ParentId uint64 `json:"parentId"`
	// 栏目ids
	ChannelIds string `json:"channelIds"`
}

/**
 * @author feige
 * @date 2023-10-10
 * @version 1.0
 * @desc  返回用户信息
 */
type NoteStudyVo struct {
	// 课程ID
	NoteId uint64 `json:"noteId"`
	// 百分比
	Percent string `json:"percent"`
}

/**
 * @author feige
 * @date 2023-10-10
 * @version 1.0
 * @desc  返回用户信息
 */
type NoteStudySpecialVo struct {
	// 专题ID
	SpecialId uint64 `json:"specialId"`
	// 总数
	Count uint64 `json:"count"`
	// 百分比
	Percent string `json:"percent"`
}

/**
 * @author feige
 * @date 2023-10-10
 * @version 1.0
 * @desc  返回统计信息
 */
type NoteMessageVo struct {
	// 用户名
	Mnum string `json:"mnum"`
	// 用户名
	Ckey string `json:"ckey"`
}

type NoteCodeVO struct {
	Id         uint64    `json:"id"`         // 业务主键
	Code       string    `json:"code"`       //兑换码
	Mark       int       `json:"mark"`       //是否兑换
	Opid       uint64    `json:"opid"`       //下载
	SystemId   uint64    `json:"systemId"`   // 系统ID
	SystemName string    `json:"systemName"` // 系统名称
	CreateTime time.Time `json:"createTime"` // 创建时间
	UpdateTime time.Time `json:"updateTime"` // 更新时间
}
